2016/01/04

一甲子的等待:從類神經網路到深度學習

深度學習」(Deep Learning)大概是這兩年最熱門的技術話題之一,日前參加中研院舉辦的 Deep Learning Workshop莊炳煌院士在他的專題演講裡提出一個令人深思的問題:目前廣受討論的「深度學習」,其實指的是「深層類神經網路」(deep neural network),而今天的深層神經網路,跟50多年前聯結論學者提出的類神經網路,在理論架構上並沒有太大的不同,那麼,究竟是什麼原因讓我們等了將近60年?

從歷史的觀點來看,與60年前相比,我們現在有的是「強大的計算能力」和「近乎無窮無盡的資料」,而最近幾年 deep learning 領域的發展,的確有很大的部份是建立在這些基礎之上的。最早的類神經網路理論,從「輸入」到「輸出」,其實並沒有限定中間要有多少「層」,實際上是計算上的技術限制,讓過去50多年類神經網路的應用一直受限在 1~3 層;直到最近10年,才有新的計算架構出現,讓類神經網路從小於5層進展到10層、20層,直到2015年影像辨識大賽冠軍的200多層。

所以,我們等了60年的突破,就只是為了在技術上讓類神經網路能夠疊更多層嗎?

其實莊院士並不是唯一提出這個疑問的人。Vladimir Vapnik(統計學習領域的知名學者,SVM 的發明人之一),2015 年在柏林舉辦的研討會,Yandex School of Data Analysis Conference, Machine Learning: Prospects and Applications 裡提問到:「深度學習是否是來自魔鬼的禮物?」(Does Deep Learning Come from the Devil?

Vapnik 認為「要怎麼區分一個點子是來自於上帝還是來自於魔鬼?上帝是聰明的,而魔鬼不是。」(God is clever, while the devil is not.)而現階段的 deep neural network,很大的程度還是仰賴「大量的計算」和「大量的資料」,這種屬於「暴力法」(brute force)的取向。所以,我們還有很多努力的空間。

這些宗師級學者對 deep learning 的評價,並不是對這個領域的攻擊,而是對一個更根本的問題的反思:「在這個發展過程中,人類的具體貢獻是什麼?」(到了宗師級別,思考的通常是最根本的問題:數學)

誠然,讓類神經網路的運算架構可以到達很多層,在工程上的確是個挑戰,但是這些進展是不是能讓我們對 statistical learning 本身有更深的理解?(也就是說,我們是不是更清楚的知道,怎樣的數學架構下,機器學習可以做得更好?前面提過,deep neural network 跟 1957 年提出的 perceptron 在數學架構上沒有太大的區別。)

莊院士覺得,所謂的「深度學習」不應該只侷限在 deep neural network 上,而應該進一步拓展到「流形」(manifold)的學習(manifold learning),讓機器學習除了能從資料做「預測」之外,還可以從資料做「解釋」。

當然,這是人工智能的終極目標之一,一旦達成,現今大部分的專家也都要失業了。所以,多等個幾年,好像也不算是壞事吧?